Skip to content
This repository has been archived by the owner on Feb 3, 2024. It is now read-only.

Bump ember-data from 4.3.0 to 4.7.1 #3066

Merged
merged 7 commits into from
Oct 20, 2022

Conversation

dependabot[bot]
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Sep 7, 2022

Bumps ember-data from 4.3.0 to 4.7.1.

Release notes

Sourced from ember-data's releases.

v4.7.1 Tunnels To Gate of White 🤍

v4.7.1 (2022-09-06)

Version 4.7 includes a number of new deprecations, several new features, bug fixes, and a large slate of significant performance improvements.

Of Note:

  • Version 4.7 implements a "2.1" cache spec while deprecating the v1 cache spec. This spec differs somewhat from the original 2.0 RFC, an updated RFC specifying the modifications will be published soon. Users looking to migrate to the 2.1 cache should expect that the finalized version of 2.1 enforces that the cache is always a singleton (vs merely allowed to be a singleton), and that data provided to the store and queries to the store from the cache should always contain identifiers in their stable form. This latter point is enforced in 4.7, the former is not yet enforced.
  • Explicit Polymorphic Relationships: starting in 4.7 it is no longer required to use Mixins or Inheritance to achieve polymorphic relationships. See emberjs/rfcs#793 for full details.
  • Most record hook and cache APIs now have documentation on api.emberjs.com. More still to come as part of finalizing v2.1 cache.
  • The return values of hasMany relationships, peekAll, findAll and query are now proxies to native arrays and as such all native array APIs are now usable. These objects will act fully as if they are native arrays. Restrictions on immutability of the result of peekAll and query still apply.
  • InternalModel is dead, long live InternalModel. Similarly, nearly all private API's have undergone significant change, if your app previously abused these APIs the most likely refactor is to use a custom model or a custom cache.

⚡️ Performance Improvements

Note: many performance improvements are gated by deprecation removal, meaning that you need to resolve all deprecations for EmberData 4.7 and mark your app as compatible with that version in order to opt in to the fastest codepaths.

All applications should observe significant speed improvements when using EmberData 4.7. The below call-outs are in relation to EmberData 4.6, which was itself also the fastest version of EmberData since we began benchmarking and tracking in the late 2.x series. Many of these improvements were made possible due to the nearing completion of Project Trim (and specifically the removal of InternalModel).

⚡️Pushing new data into the cache is now ~33% faster ⚡️Accessing the LiveArray (peekAll / findAll) for the first time is now 97% faster ⚡️Creating record instances is now ~45-50% faster ⚡️Reduced memory pressure may speedup first render after a large push by ~75% ⚡️Initial Access of Related Records is now ~80% faster ⚡️Initial Access of Async Relationships sees 30% faster creation of async proxies ⚡️Unloading of all records individually (one at a time in a loop) is 40% faster ⚡️Destroying all records (e.g. also sending an API request) in a loop is 62% faster ⚡️Unloading all records (of all types) is ~98% faster ⚡️Receiving and processing updated payloads for existing hasMany relationships is ~40% faster

In addition to these improvements significantly speeding up data usage in applications, we expect to see especially dramatic improvements anywhere the application undergoes teardown (after each test in CI or Fastboot request is processed). In several applications that we looked at, fixture population for acceptance and integration tests accounted for 30% of the total test time, with teardown of those fixtures representing another 40% of the total test time. We would expect such tests to see an overall test-run improvement time in the 50-75% range.

🥅 Test

🚀 Enhancement

  • -ember-data, adapter, canary-features, model, record-data, serializer, store, unpublished-adapter-encapsulation-test-app, unpublished-relationship-performance-test-app, unpublished-serializer-encapsulation-test-app
  • -ember-data, canary-features, model, private-build-infra, record-data, store, unpublished-adapter-encapsulation-test-app, unpublished-serializer-encapsulation-test-app
  • -ember-data, canary-features, model, record-data, store, unpublished-adapter-encapsulation-test-app, unpublished-serializer-encapsulation-test-app, unpublished-test-infra
  • -ember-data, adapter, model, private-build-infra, record-data, store, unpublished-relationship-performance-test-app

📝 Documentation

  • -ember-data, adapter, canary-features, model, record-data, serializer, store, unpublished-adapter-encapsulation-test-app, unpublished-relationship-performance-test-app, unpublished-serializer-encapsulation-test-app

... (truncated)

Changelog

Sourced from ember-data's changelog.

v4.7.1 (2022-09-06)

🥅 Test

🚀 Enhancement

  • -ember-data, adapter, canary-features, model, record-data, serializer, store, unpublished-adapter-encapsulation-test-app, unpublished-relationship-performance-test-app, unpublished-serializer-encapsulation-test-app
  • -ember-data, canary-features, model, private-build-infra, record-data, store, unpublished-adapter-encapsulation-test-app, unpublished-serializer-encapsulation-test-app
  • -ember-data, canary-features, model, record-data, store, unpublished-adapter-encapsulation-test-app, unpublished-serializer-encapsulation-test-app, unpublished-test-infra
  • -ember-data, adapter, model, private-build-infra, record-data, store, unpublished-relationship-performance-test-app

📝 Documentation

  • -ember-data, adapter, canary-features, model, record-data, serializer, store, unpublished-adapter-encapsulation-test-app, unpublished-relationship-performance-test-app, unpublished-serializer-encapsulation-test-app
  • -ember-data, adapter, canary-features, debug, model, private-build-infra, record-data, serializer, store
  • Other
  • -ember-data, canary-features, model, private-build-infra, record-data, store, unpublished-adapter-encapsulation-test-app, unpublished-serializer-encapsulation-test-app
  • #8138 [DOC] typo in identifier initializer documentation (@​ciur)

🌲 New Deprecation

  • -ember-data, adapter, model, private-build-infra, serializer, store
  • -ember-data, model, private-build-infra
    • #8092 deprecation: Model.reopen/reopenClass and eager static fields lookups (@​runspired)
  • -ember-data, adapter, debug, model, private-build-infra, record-data, serializer, store, unpublished-adapter-encapsulation-test-app, unpublished-fastboot-test-app, unpublished-model-encapsulation-test-app, unpublished-serializer-encapsulation-test-app, unpublished-test-infra
  • -ember-data, adapter, canary-features, model, record-data, serializer, store, unpublished-adapter-encapsulation-test-app, unpublished-relationship-performance-test-app, unpublished-serializer-encapsulation-test-app
  • -ember-data, model, private-build-infra, record-data, unpublished-adapter-encapsulation-test-app, unpublished-relationship-performance-test-app, unpublished-serializer-encapsulation-test-app, unpublished-test-infra
  • -ember-data, canary-features, model, private-build-infra, record-data, store, unpublished-adapter-encapsulation-test-app, unpublished-serializer-encapsulation-test-app
  • -ember-data, canary-features, model, record-data, store, unpublished-adapter-encapsulation-test-app, unpublished-serializer-encapsulation-test-app, unpublished-test-infra
  • -ember-data, adapter, model, private-build-infra, record-data, store, unpublished-adapter-encapsulation-test-app, unpublished-relationship-performance-test-app, unpublished-serializer-encapsulation-test-app

🏠 Internal

  • -ember-data
  • -ember-data, adapter, debug, model, private-build-infra, record-data, serializer, store, unpublished-adapter-encapsulation-test-app, unpublished-fastboot-test-app, unpublished-model-encapsulation-test-app, unpublished-serializer-encapsulation-test-app, unpublished-test-infra

... (truncated)

Commits

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

@dependabot dependabot bot added dependencies Pull requests that update a dependency file javascript Pull requests that update Javascript code labels Sep 7, 2022
@jrjohnson jrjohnson self-assigned this Sep 7, 2022
@github-actions
Copy link
Contributor

github-actions bot commented Sep 7, 2022

Files that got Smaller 🎉:

File raw gzip
vendor.js -1.82 kB -639 B

Files that stayed the same size 🤷‍:

File raw gzip
dummy.js 0 B 0 B
dummy.css 0 B 0 B
vendor.css 0 B 0 B

Created by ember-asset-size-action

@dependabot @github
Copy link
Contributor Author

dependabot bot commented on behalf of github Sep 15, 2022

A newer version of ember-data exists, but since this PR has been edited by someone other than Dependabot I haven't updated it. You'll get a PR for the updated version as normal once this PR is merged.

@jrjohnson jrjohnson force-pushed the dependabot/npm_and_yarn/ember-data-4.7.1 branch from 8e6ed0a to 9f49f00 Compare September 15, 2022 22:19
@jrjohnson
Copy link
Member

v4.7.2 doesn't work with Safari < 15.4 (thanks new browser tests!). PR merged upstream, will await the next release, but keep this open since it has stuff I want to keep in it.

@jrjohnson jrjohnson force-pushed the dependabot/npm_and_yarn/ember-data-4.7.1 branch from 9f49f00 to c080d26 Compare October 2, 2022 19:21
dependabot bot and others added 7 commits October 19, 2022 14:22
Bumps [ember-data](https://github.com/emberjs/data/tree/HEAD/packages/-ember-data) from 4.3.0 to 4.7.1.
- [Release notes](https://github.com/emberjs/data/releases)
- [Changelog](https://github.com/emberjs/data/blob/master/CHANGELOG.md)
- [Commits](https://github.com/emberjs/data/commits/v4.7.1/packages/-ember-data)

---
updated-dependencies:
- dependency-name: ember-data
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
We'll have to sort these out, but they're so noisy the obscure any other
issues.
Use filter directly instead of this deprecated shortcut.
We need this for Firefox ESR 91 (and possibly other browsers as well).
Turns out we didn't use this backing class at all, so I removed it.
Ensures we're getting the array and not a proxy by awaiting the terms.
And finally, sent in clean test data instead of munging the existing
model as that was causing issues with this test.
@jrjohnson jrjohnson force-pushed the dependabot/npm_and_yarn/ember-data-4.7.1 branch from c080d26 to 1480689 Compare October 19, 2022 21:22
@jrjohnson jrjohnson assigned dartajax and unassigned jrjohnson Oct 20, 2022
Copy link
Member

@dartajax dartajax left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Did some click testing - as much as I could with a common release - looks good - I'm gonna merge this.

@dartajax dartajax merged commit 4b0e2c4 into master Oct 20, 2022
@dartajax dartajax deleted the dependabot/npm_and_yarn/ember-data-4.7.1 branch October 20, 2022 16:46
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
dependencies Pull requests that update a dependency file javascript Pull requests that update Javascript code
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants